home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio / Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso / DREAMSDK.WIN / INCLUDE / XANIMAPI.H < prev    next >
C/C++ Source or Header  |  1995-09-08  |  6KB  |  113 lines

  1. // $Id: xanimapi.h 1.45 1995/09/04 17:23:38 PIERRE Exp $
  2. // Ray Dream, Inc. Confidential and Proprietary information. 
  3. // Copyright (c) 1994-1995 Ray Dream, Inc. All rights reserved.
  4.  
  5. #ifndef __XANIMAPI__
  6. #define __XANIMAPI__
  7.     
  8. #ifndef __MTYPES__
  9. #include "MTypes.h"
  10. #endif
  11.  
  12. class RDList;
  13. class RDPoint; 
  14. class RDRect; 
  15. class LPoint; 
  16. class LRect;
  17. class SDGraphicDevice;  
  18. class Riostream; 
  19. class Tweener;
  20. class TimeRuler;
  21. class MTimeBased;
  22. class QuickFixVector3;         
  23. struct TFacette;
  24. struct TPatch; 
  25. class Iterator;         
  26. class QFixMatrix33;
  27. class QuickFix;  
  28. class XTimeLineM;
  29. class RPlatformEvent;    
  30. class XTimeBased;
  31.  
  32. //----------------
  33. // TimeManager / XTimeManager
  34. class XTimeManager;
  35. typedef void(*XTimeManagerSetTimeProc)(XTimeManager *This,long time);
  36. typedef long (*XTimeManagerGetTimeProc)(const XTimeManager *This);
  37. typedef void(*XTimeManagerReadProc)(XTimeManager *This,Riostream *stream);
  38. typedef void(*XTimeManagerWriteProc)(const XTimeManager *This,Riostream *stream);
  39. typedef void(*XTimeManagerEnableEventCreaterProc)(XTimeManager *This,Boolean enable);
  40.             
  41. //----------------
  42. // TimeBaseData
  43. class TimeBaseData;
  44. typedef TimeBaseData* (*XTimeBasedNewProc)();      
  45. typedef void (*XTimeBasedDeleteProc)(TimeBaseData *This);
  46. typedef void (*XTimeBasedSetXTimeBasedProc)(TimeBaseData *This,XTimeBased *aTB);
  47. typedef void (*XTimeBasedWriteWithKeywordProc)(TimeBaseData *data,Riostream *stream,long keyword);
  48. typedef void (*XTimeBasedReadProc)(TimeBaseData *data,Riostream *stream);
  49. typedef void (*XTimeBasedCopyDataProc)(const TimeBaseData *data,TimeBaseData *timebased);
  50. typedef void (*XTimeBasedSetTimeManagerProc)(TimeBaseData *data,XTimeManager *timeManager);
  51. typedef Boolean (*XTimeBasedCheckParamForReadProc)(TimeBaseData *data,short index);    
  52. typedef void (*XTimeBasedMarkModifiedProc)(TimeBaseData *data,short index);
  53. typedef short (*XTimeBasedSetParamProc)(TimeBaseData *data,void *aparam,const char *itsName,long itsID,long itsType);
  54. typedef void (*XTimeBasedSetTypeProc) (TimeBaseData *data,long itsType,const char *className);
  55. typedef short (*XTimeBasedSetParamGroupProc) (TimeBaseData *data,MTimeBased *agroup,const char *itsName,long itsID);
  56. typedef void (*XTimeBasedChangeParamGroupProc) (TimeBaseData *data,MTimeBased *agroup,short index);
  57. typedef void (*XTimeBasedEnableParamProc) (TimeBaseData *data,short index,Boolean enable);
  58.  
  59. typedef void (*XTimeBasedClearParamsProc) (TimeBaseData *data);
  60. typedef short (*XTimeBasedGetNbrSonsProc) (const TimeBaseData *data);
  61. typedef const MTimeBased *(*XTimeBasedGetSonIndProc) (const TimeBaseData *data,short index,long *itsType,long *itsID,Boolean *isGroup);
  62. typedef const MTimeBased * (*XTimeBasedGetFatherProc) (const TimeBaseData *data);
  63. typedef long (*XTimeBasedGetTypeProc) (const TimeBaseData *data);
  64.  
  65. //XDeformer
  66. class XDeformer;  
  67. typedef void (*XDeformerDeformPointProc)(const XDeformer *This,const QuickFixVector3 *PP,QuickFixVector3 *res);
  68. typedef void (*XDeformerDeformFacetsProc)(const XDeformer *This,Iterator *facets,void (*proc)(TFacette *,void *),void *priv);
  69. typedef void (*XDeformerDeformPatchesProc)(const XDeformer *This,Iterator *patchs,void (*proc)(TPatch *,void *),void *priv);
  70. typedef void (*XDeformerSetBoxProc)(XDeformer *This,const QuickFixVector3 *min,const QuickFixVector3 *max);
  71.   
  72. //XMotionLink
  73. class MotionLink; 
  74. typedef short (*XMotionLinkGetNbrFreedomProc)(const MotionLink *This);
  75. typedef void (*XMotionLinkGetFreedomRangeProc)(const MotionLink *This,short index,QuickFix *min,QuickFix *max);
  76. typedef void (*XMotionLinkGetTransformProc)(const MotionLink *This,QFixMatrix33 *RR,QuickFixVector3 *TT);
  77. typedef void (*XMotionLinkGetDerivativeProc)(const MotionLink *This,short index,QFixMatrix33 *RR,QuickFixVector3 *TT);
  78. typedef void (*XMotionLinkIncrementFreedomValueProc)(MotionLink *This,short index,const QuickFix *value);
  79.  
  80. //XTimeLineM
  81. typedef long (*XTimeLineMGetTimeScaleProc)(XTimeLineM* This);
  82. typedef void (*XTimeLineMSetTimeScaleProc)(XTimeLineM* This, const long ticks);
  83. typedef long (*XTimeLineMGetPixelsProc)(XTimeLineM* This);
  84. typedef void (*XTimeLineMSetPixelsProc)(XTimeLineM* This, const long pixels);
  85. typedef long (*XTimeLineMGetSnapProc)(XTimeLineM* This);
  86. typedef void (*XTimeLineMSetSnapProc)(XTimeLineM* This, const long snap);
  87. typedef long (*XTimeLineMPixelsToTicksProc)(XTimeLineM* This, const long pixels);
  88. typedef long (*XTimeLineMTicksToPixelsProc)(XTimeLineM* This, const long ticks);
  89. typedef void (*XTimeLineMSetTimeBasePosProc)(XTimeLineM* This, TimeBaseData* tb, const LPoint* orig, RDPoint* size);
  90. typedef void (*XTimeLineMDrawTimeBaseProc)(XTimeLineM* This, SDGraphicDevice* aGD, const LRect* zone, TimeBaseData* tb, Boolean selected);
  91. typedef Boolean (*XTimeLineMIsTimeBaseExpandedProc)(XTimeLineM* This, TimeBaseData* tb);
  92. typedef void (*XTimeLineMExpandTimeBaseProc)(XTimeLineM* This, TimeBaseData* tb, Boolean expand);
  93. typedef void (*XTimeLineMOnTimeBaseMouseActionProc)(XTimeLineM* This, TimeBaseData* tb, const LPoint *mousePos,const RPlatformEvent* event,const RDPoint *threshold);
  94. typedef void (*XTimeLineMDeselectAllProc)(XTimeLineM* This, long redraw);
  95.  
  96. typedef long (*XTimeLineMCalcWidthProc)(const XTimeLineM* This);
  97. typedef void (*XTimeLineMCalcPosProc)(XTimeLineM* This,RDRect *extent);
  98. typedef short (*XTimeLineMGetCursorIDProc)(XTimeLineM* This, const LPoint* mousePos, const RPlatformEvent* event, short tool);
  99.              
  100. //TreeBehavior   
  101. class XTreeBehavior; 
  102. class TTree;
  103.  
  104. #define kXTreeBehaviorDefault 0
  105. #define kXTreeBehaviorTrackT 1
  106. #define kXTreeBehaviorTrackR 2
  107.  
  108. typedef void (*XTreeBehaviorApplyProc)(const XTreeBehavior *This,TTree *atree);
  109. typedef void (*XTreeBehaviorSetGlobalTransformProc)(const XTreeBehavior *This,TTree *atree,const QFixMatrix33 *RR,const QuickFixVector3 *TT,short mode);
  110.            
  111. #endif
  112.  
  113.